Aller au contenu principal

Cours - Introduction à l'ingénierie d'infrastructure

Problématiques qui émergent lorsque l'infrastructure ou le nombre d'user grandi

  • Haute disponibilité
  • Redondance, sauvegarde
  • Quel bottleneck (goulot d'étranglement)
    • Storage I/O ? (interactions avec le stockage)
    • Requests I/O ? (gestion des demandes)
    • Computing power ? (gestion des calculs)

Storage engineering

  • Lorsque le besoin grandit : nécessité de séparer la partie OS/application de la partie stockage
  • Exemples de technique:
    • NAS
    • SAN
    • RAID
    • Tiering
    • ...

Storage engineering : NAS

  • NAS (network attached storage)
  • Un (unique?) périphérique branché au réseau dont la fonction est de s'occuper de la partie stockage des données
  • Le NAS s'occupe de la partie système de fichier
  • Plusieurs OSs peuvent se connecter sur ce stockage et interagir avec
  • Ex. : un espace de partage de documents dans une entreprise

Storage engineering : NAS

Storage engineering : SAN

  • SAN (storage area network)
  • Un réseau de périphériques de stockage
  • ... connectés sur les machines pour faire "comme si" les disques étaient branchés directement sur la machine
  • Accès au niveau "block" : c'est à la machine de gérer l'aspect système de fichier
  • Performance + redondance

Storage engineering : SAN

Storage engineering : SAN

Storage engineering : RAID

  • RAID (Redudant Array of Inexpensive Disks)
  • Un ensemble d'architecture de stockage pour gérer la redondance, disponibilité, performance, ou capacité
  • Géré au niveau software ou hardware
  • On parle de "grappe" de disque

Storage engineering : RAID

  • RAID 0 (striping) :
    • les morceaux d'un fichier sont répartis entre les disques
    • pas d'augmentation de redondance, mais augmentation de la performance
      • (lecture/écriture sur plusieurs disques en parallèle)

Storage engineering : RAID

  • RAID 1 (mirror) :
    • copie des données sur chaque disques (bottleneck = slowest drive)
    • lecture sur n'importe lequel des disques
    • ajouter un disque augmente la redondance mais pas la capacité

Storage engineering : RAID

  • RAID 10 (1+0) : stripping + mirroring
    • nécessite au moins 4 disques
    • performance + redondance
    • jusqu'à 50% de perte de disque (tant qu'un disque + son miroir n'est pas perdu)

Storage engineering : RAID

  • RAID 5 :
    • nécessite au moins 3 disques
    • information répartie entre les disques
    • tradeoff capacité/redondance : une seule perte de disque tolérée

Storage engineering : RAID

  • RAID 6 :
    • nécessite au moins 4 disques
    • information répartie entre les disques
    • tradeoff capacité/redondance : jusqu'à deux pertes de disque tolérée

Storage engineering : tiering

  • Optimiser la disponibilité des données et leur coût de stockage, en fonction de la demande

Traffic engineering

  • Lorsque le nombre d'user grandit : besoin d'optimiser le traitement des requêtes
  • Exemple de quelques techniques:
    • caching, zipping
    • load balancing
    • DNS round robin
    • CDN

Traffic engineering : caching, compression

  • Caching

    • par ex. côté client: le navigateur garde en mémoire certaine image pour ne pas les re-demander à chaque requête
  • Compression (e.g. avec gzip)

    • compression des données statiques textuels (.html, .js, .css, ...)
    • gain en débit
    • (attention, implications de sécu non triviale, c.f. BREACH)

Traffic engineering : load balancing

  • Peut avoir lieu au niveau software, ou bien niveau hardware (équipement dédié)
  • Le daemon principal réparti le traitement des requêtes entre des workers
  • Beaucoups de serveurs logiciels intègrent cette fonctionnalité (nginx, apache, ..)

Traffic engineering : DNS round robin

  • Il s'agit d'une autre technique de load balancing
  • Associer plusieurs IP (A record) à un nom de domaine
  • Lors de la résolution du nom de domaine, un enregistrement est choisi aléatoirement (round robin)

Traffic engineering : CDN

  • CDN (Content Delivery Network)
  • Sorte d'opérateur "haut-niveau" (couche 5+) qui proposent comme service une haute dispo pour certains fichiers web (e.g. .js) ou contenus multimédias (e.g. video)
  • Répartition de serveurs géographiquement dans des "points de présence" (PoP)
  • Réponse du DNS en fonction de la proximité géographique
  • Interfaçage privilégié avec les opérateurs réseaux directement dans les datacenter / IXP
  • Typiquement appliqué au web mais pas seulement (par ex. mirroir des dépots debian)

Traffic engineering : CDN

Anything As A Service

  • Un des fondement du cloud : l'abstraction de l'infrastructure, de la plateforme et des applications

Anything As A Service

  • Sur les plateformes d'IaaS, on peut non seulement louer des machines, mais aussi des services comme : stockage additionels, load balancer,firewall, ...